In addition to providing printed telephone directories, telephone companies provide telephone directory assistance services. Users of these services call predetermined telephone numbers and are connected to directory assistance operators. The operators access directory databases to locate the directory listings requested by the users, and release the telephone numbers of those listings to the users.
Because telephone companies handle a very large number of directory assistance calls per year, the associated labor costs are very significant. Consequently, telephone companies and telephone equipment manufacturers have devoted considerable efforts to the development of systems that reduce the labor costs associated with providing directory assistance services.
In a typical assistance system the caller is first prompted to provide listing information, in other words to specify in what area resides the business or individual whose telephone number he seeks. If valid speech is detected, the speech recognition layer is invoked in an attempt to recognize the unknown utterance. On a first pass search, a fast match algorithm is used to select the top N orthography groups from a speech recognition dictionary. In a second pass the individual orthographies from the selected groups are re-scored using a more precise likelihood computation. The top orthography in each of the top two groups is then processed by a rejection algorithm that evaluates if they are sufficiently distinctive from one another so the top choice candidate can be considered to be a valid recognition.
Usually the speech recognition dictionary that contains the orthographies potentially recognizable by the speech recognition layer on a basis of a spoken utterance by a user is created by compiling a list of orthographies. In a specific example, a dictionary to be used for locality recognition may consist of a list of cities and countries. Because the likelihood of occurrence of each of the orthographies is different, a priori probabilities may be used to weigh the orthographies in the dictionary such as to give a greater bias to those having a higher probability of being uttered. This is commonly done by using statistical measurements such as assigning weights according to frequency of occurrence in a given speech utterance. For example in the case of the locality requests, probabilities may be set by assigning probabilities based on the population of the localities. Although the use of a-priori probabilities allows weighing preferentially frequently occurring orthographies, the model based on the population of each locality for creating the a priori advisor is not optimum. It has been observed that the actual calling pattern in a given geographical area cannot always be correlated to the population distribution in that area. Thus, the development of a priori advisors based solely on population distribution may lead to less accurate recognition systems.
Thus, there exists a need in the industry to develop improved automated methods for generating a speech recognition dictionary containing statistical data used to weigh orthographies in the dictionary.